package com.glodon.paas.job.monitor.service;

import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import com.glodon.paas.job.model.AgentStatus;
import com.glodon.paas.job.monitor.dao.AgentStatusDAO;

@Component
public class HeartBeatListener implements MessageListener {

    @Autowired
    private AgentStatusDAO agentStatusDAO;

    @Override
    public void onMessage(Message message) {
        try {
            AgentStatus agentStatus = AgentStatus.createAgentStatus(message);
            agentStatusDAO.save(agentStatus);
        } catch (JMSException e) {
            throw new RuntimeException(e);
        }
    }

    public void setAgentStatusDAO(AgentStatusDAO agentStatusDAO) {
        this.agentStatusDAO = agentStatusDAO;
    }
}
